# 导入pandas库
import pandas as pd

# 使用pandas series列表
pd_series = pd.Series([11, 22, 33, 44])

print(pd_series.index)
# 获取values
print(type(pd_series.values))
print(pd_series.values)

for i in pd_series.index:
    print(str(i) + ' ' + str(pd_series.values[i]))

# Series常用方法
print('最大值: ', pd_series.max())
print('最小值: ', pd_series.min())
print('平均值: ', pd_series.mean())
# 数值比较
print(pd_series > pd_series.mean())
# 获取大于平均值的数据
print(pd_series[pd_series > pd_series.mean()])

# 使用pandas series列表指定index
pd_series_index = pd.Series([111, 222, 333, 444], index=list('abcd'))
print(pd_series_index)
print(pd_series_index.index)
print(pd_series_index.values)

# 根据标签索引获取值
print(pd_series_index['d'])
# 根据位置索引获取值
print(pd_series_index[0])

# 使用字典项创建pandas series列表
p_dict = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
pd_series_dict = pd.Series(p_dict)


# Pandas Series的索引和切片
# 位置索引切片 【start:end）左闭右开， 以下示例获取位置索引为0、1的数据
print(pd_series_index[0:2])

# 标签索引切片 【start:end】左闭右闭， 以下示例获取位置索引为'a'、'b'、'c'的数据
print(pd_series_index['a':'c'])

# 标签索引切片 【start:end:step】左闭右闭， 以下示例获取位置索引为'a'、'b'、'c',且步长为2的数据
print(pd_series_index['a':'c':2])

# 标签索引切片 【以下示例获取位置索引为'b'及以后的数据
print(pd_series_index['b':])

# 当位置索引和标签索引重复时，可使用loc获取标签索引，iloc获取位置索引
series = pd.Series(['aaa', 'bbb', 'ccc', 'ddd'], index=[1, 2, 3, 4])

# 根据loc获取标签索引对应的数据
print(series.loc[1])
# 根据iloc获取位置索引对应的数据
print(series.iloc[1])
